Various types of multimedia presentations are available to consumers. Multimedia presentations include movies, television programs, advertisements, video conferences, and the like. Multimedia presentations can be retrieved from a storage media, such as a DVD or a hard disk drive, or received via a transmission from a server or other computing device. These multimedia presentations may be presented to a user through a television, computer system, portable entertainment system, or other device.
Multimedia presentations typically utilize compressed video data and compressed audio data to reduce the stored size of the presentation or to reduce the time or bandwidth required to transmit the presentation. The compressed video data and compressed audio data is often decompressed just prior to rendering the video and audio data. Example compression formats include various MPEG (Moving Pictures Expert Group) formats (such as MPEG-2 and MPEG-4), Windows Media Video and Windows Media Audio (WMA).
Typical compression formats are designed for the normal playback of video and audio data in a forward direction. Certain compression formats use a key frame/delta frame structure for storing video data. A key frame can be independently decompressed and rendered without a need to reference previously decompressed frames. Subsequent delta frames identify differences between the current frame and a previously decompressed (reference) frame. Thus, to render a delta-coded video frame the decoding process accesses one or more previously decompressed frames to fully reconstruct the frame. The use of delta-coded frames allows a compression algorithm to take advantage of inter-frame similarities to improve compression efficiency.
The key frame/delta frame structure works well for a forward playback of data. However, in certain situations, a user may desire to play the multimedia presentation in a reverse direction. Reverse playback of data that has been compressed using the key frame/delta frame structure is difficult because the previous key frame(s) and previous delta frame(s) are typically discarded after rendering. Attempting to store all audio and video data is not generally practical due to the time required to decode an entire multimedia presentation and due to the large amount of storage space required to store the entire multimedia presentation.
Accordingly, there is a need for an improved technique for playing compressed video and audio data in a reverse direction.